System

These primitives allow you to list elements of Prograph programs. Many of these primitives accept strings as inputs to specify classes and attributes. A string specifying a class must be the name of an existing class, and a string specifying an attribute in a class must be the name of an attribute in that class. Some System primitives find comments associated with Prograph elements. If the element has no comment, the result is NULL.

_________________________________________________
                                    ancestors
 *339*

Input types: <any class> | string

Output types: list

Description: 
Ancestors is the list of names of ancestor classes of the class specified by Instance or ClassName. 

_________________________________________________
                                                               attr-com
 *339*

Input types: <any class> | string ;  string

Output types: string | null

Description: 
Comment is the comment associated with the attribute called AttrName of the class specified by Instance or ClassName.

Compiler: Always returns NULL.

_________________________________________________
                                                 attributes
 *340*

Input types: <any class> | string

Output types: list;  list

Description: 
ClassAttrs and Instance Attrs are respectively the lists of names of class and instance attributes of the class specified by ClassName or Instance.

_________________________________________________
                                                     called-from-get
*340*

Input types: 
string; string

Output types: 
list; list; list

Description:
Returns a list of names of methods which are called by the input get method. The outputs are NULL if no such method exists.

Compiler:
Not supported.

_________________________________________________
                                                    called-from-meth
*340*

Input types: 
string | NONE ; string

Output types: 
list; list; list

Description:
Returns a list of names of methods which are called by the input method. If Class is NONE, Method is a universal method. The outputs are NULL if no such method exists.

Compiler:
Not supported.

_________________________________________________
                                                    called-from-set
*341*

Input types: 
string; string

Output types: 
list; list; list

Description:
Returns a list of names of methods which are called by the input set method. The outputs are NULL if no such method exists.

Compiler:
Not supported.

_________________________________________________
                                                  calls-to-get
 *341*

Input names: 
Attribute; CallType

Input types: 
string; string

Output names: 
Methods; GetMethods; SetMethods

Output types: 
list; list; list

Description:
Returns a list of names of methods which get the input attribute. 
CallType is direct, indirect, or all.

Compiler:
Not supported.

_________________________________________________
                                                            calls-to-meth
*342*

Input names: 
Class; Method; CallType

Input types: 
string | NONE; string; string

Output names: 
Methods; GetMethods; SetMethods

Output types: 
list; list; list

Description:
Returns a list of method names that call the input method. If Class is NONE, Method is a universal. CallType is data, explicit, or all.

Compiler:
Not supported.

_________________________________________________
                                                calls-to-set
 *342*

Input names: 
Attribute; CallType

Input types: 
string; string

Output names: 
Methods; GetMethods; SetMethods

Output types: 
list; list; list

Description:
Returns a list of names of methods which set the input attribute. CallType is direct, indirect, or all.

Compiler:
Not supported.

_________________________________________________
                                      children
 *342*

Input types: <any class> | string

Output types: list

Description: 
Children is the list of names of classes that inherit directly from the class specified by Instance or ClassName. 

_________________________________________________
                                    class-com
 *343*

Input types: Class | string

Output types: string | null

Description: 
Comment is the comment associated with the class specified by Instance or ClassName.

Compiler: Always returns NULL.

_________________________________________________
                                    classes
 *343*

Output types: list

Description: 
Classes is a list of the names of all classes.

_________________________________________________
                                   descendants
*343*

Input names: Instance | ClassName

Input types: <instance> | string

Output types: list of string

Description: Accept Instance or Name of the class. Returns a list of the names of all descendant classes.

See also: children, ancestors

_________________________________________________
                                                              meth-com
 *343*

Input types: <any class> | string;  string

Output types: string | null

Description: 
Comment is the comment associated with the simple method called MethName (or initialization method if MethName is «») in the class specified by Instance or ClassName. 

Compiler: Always returns NULL.

_________________________________________________
                                                           meth-com-g
*344*

Input types: <any class> | string;  string

Output types: string

Description: 
Comment is the comment associated with the get method called MethName in the class specified by Instance or ClassName.

Compiler: Always returns NULL.

_________________________________________________
                                                               meth-com-s
*344*

Input types: <any class> | string;  string

Output types: string

Description: 
Comment is the comment associated with the set method called MethName in the class specified by Instance or ClassName.

Compiler: Always returns NULL.

_________________________________________________
                                                         methods
 *344*

Input types: class | string | none

Output types: list; list; list

Description: 
If input is Instance or ClassName, then Methods, GetMethods, and SetMethods are respectively lists of the names of simple or initialization methods, get methods, and set methods in the class specified by Instance or ClassName. If input is None, Methods is the list of names of Universal methods, and GetMethods and SetMethods are both ().

Compiler: No distinction is made between Universal methods and primitives.  If input is NONE, Methods is a list of names of Universal methods and primitives.

_________________________________________________
                                  pers-com
 *345*

Input types: string

Output types: string

Description: 
Comment is the comment associated with the persistent called Name.

Compiler: Always returns NULL.

_________________________________________________
                                   persistents
 *345*

Output types: string

Description: 
Persistents is the list of names of all persistents.

_________________________________________________
                                                             settable
 *345*

Input types: string | <any class>;  string

Output types: integer

Description: 
Tests if Attribute of the class referenced by ClassName or instance is currently settable. Result is 0 if settable, 1 if conditionally settable, and 2 if not settable.

Compiler: Not supported.